2c5ef50c198e43b4db9ae89cbdb2f82c8d3cb15d,zanata-war/src/main/java/org/zanata/rest/service/AsynchronousProcessResourceService.java,AsynchronousProcessResourceService,startTranslatedDocCreationOrUpdate,#String#String#String#LocaleId#TranslationsResource#Set#String#,222

Before Change



      if( errorMessage == null )
      {
         processManagerServiceImpl.startProcess(
               new RunnableProcess<MessagesProcessHandle>()
               {
                  @Override
                  protected void run(MessagesProcessHandle handle) throws Throwable
                  {
                     TranslationService translationServiceImpl =
                           (TranslationService)Component.getInstance(TranslationServiceImpl.class);

                     // Translate
                     translationServiceImpl.translateAllInDoc(projectSlug, iterationSlug, id, locale, translatedDoc,
                           extensions, finalMergeType, true, userName, handle);
                  }

                  @Override
                  protected void handleThrowable(MessagesProcessHandle handle, Throwable t)
                  {
                     AsynchronousProcessResourceService.log.error("Error pushing translations", t);
                     super.handleThrowable(handle, t);    //To change body of overridden methods use File | Settings | File Templates.
                  }
               },
               handle
         );

         return this.getProcessStatus(handle.getId());
      }

After Change


            this.getSecuredIteration(projectSlug, iterationSlug).getProject());

      String errorMessage = null;
      MessagesProcessHandle handle = new MessagesProcessHandle();

      MergeType mergeType = null;
      try
      {
         mergeType = MergeType.valueOf(merge.toUpperCase());
      }
      catch (Exception e)
      {
         errorMessage = "bad merge type " + merge;
      }

      final String id = URIHelper.convertFromDocumentURIId(idNoSlash);
      final MergeType finalMergeType = mergeType;
      final String userName = identity.getCredentials().getUsername();
      HProjectIteration hProjectIteration = projectIterationDAO.getBySlug(projectSlug, iterationSlug);

      if( errorMessage == null )
      {
         RunnableProcess<MessagesProcessHandle> process =
               new RunnableProcess<MessagesProcessHandle>()
               {
                  @Override
                  protected void run(MessagesProcessHandle handle) throws Throwable
                  {
                     TranslationService translationServiceImpl =
                           (TranslationService)Component.getInstance(TranslationServiceImpl.class);

                     // Translate
                     translationServiceImpl.translateAllInDoc(projectSlug, iterationSlug, id, locale, translatedDoc,
                           extensions, finalMergeType, true, userName, handle);
                  }

                  @Override
                  protected void handleThrowable(MessagesProcessHandle handle, Throwable t)
                  {
                     AsynchronousProcessResourceService.log.error("Error pushing translations", t);
                     super.handleThrowable(handle, t);    //To change body of overridden methods use File | Settings | File Templates.
                  }
               }.withIdentity(identity);

         processManagerServiceImpl.startProcess(process,handle);

         return this.getProcessStatus(handle.getId());
      }